<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>libwebsockets: lib/libwebsockets.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="libwebsockets.org-logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libwebsockets
   </div>
   <div id="projectbrief">Lightweight C library for HTML5 websockets</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('libwebsockets_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">libwebsockets.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a href="libwebsockets_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlws__conn.html">lws_conn</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlws__conn__listener.html">lws_conn_listener</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__polarssl__context.html">lws_polarssl_context</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__pollfd.html">lws_pollfd</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpollfd.html">pollfd</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpollfd.html">pollfd</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__pollargs.html">lws_pollargs</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__ext__options.html">lws_ext_options</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__ext__option__arg.html">lws_ext_option_arg</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__extension.html">lws_extension</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__protocols.html">lws_protocols</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__plugin__capability.html">lws_plugin_capability</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__plugin.html">lws_plugin</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlwsgw__hash__bin.html">lwsgw_hash_bin</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlwsgw__hash.html">lwsgw_hash</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__session__info.html">lws_session_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__gs__event__args.html">lws_gs_event_args</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__context__creation__info.html">lws_context_creation_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__protocol__vhost__options.html">lws_protocol_vhost_options</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__http__mount.html">lws_http_mount</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__process__html__args.html">lws_process_html_args</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__process__html__state.html">lws_process_html_state</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__tokens.html">lws_tokens</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__token__limits.html">lws_token_limits</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__cgi__args.html">lws_cgi_args</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__plat__file__ops.html">lws_plat_file_ops</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__email.html">lws_email</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:abddb8d337fb2692586d892b494739003"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abddb8d337fb2692586d892b494739003"></a>
typedef struct <a class="el" href="structlws__polarssl__context.html">lws_polarssl_context</a>&#160;</td><td class="memItemRight" valign="bottom"><b>SSL_CTX</b></td></tr>
<tr class="separator:abddb8d337fb2692586d892b494739003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3abb8b7e6d29a0292797230e4031681"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3abb8b7e6d29a0292797230e4031681"></a>
typedef ssl_context&#160;</td><td class="memItemRight" valign="bottom"><b>SSL</b></td></tr>
<tr class="separator:ac3abb8b7e6d29a0292797230e4031681"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adedbc79528b71a5c7f27cde87100c9aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adedbc79528b71a5c7f27cde87100c9aa"></a>
typedef SOCKET&#160;</td><td class="memItemRight" valign="bottom"><b>lws_sockfd_type</b></td></tr>
<tr class="separator:adedbc79528b71a5c7f27cde87100c9aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff42d53861afdc1a6edfb999ba688ecb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff42d53861afdc1a6edfb999ba688ecb"></a>
typedef HANDLE&#160;</td><td class="memItemRight" valign="bottom"><b>lws_filefd_type</b></td></tr>
<tr class="separator:aff42d53861afdc1a6edfb999ba688ecb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b12016562c728eb306c7f954c804bef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b12016562c728eb306c7f954c804bef"></a>
typedef os_timer_t&#160;</td><td class="memItemRight" valign="bottom"><b>uv_timer_t</b></td></tr>
<tr class="separator:a1b12016562c728eb306c7f954c804bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27551d6899b1e4de4b2b5854e805c6eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27551d6899b1e4de4b2b5854e805c6eb"></a>
typedef void&#160;</td><td class="memItemRight" valign="bottom"><b>uv_cb_t</b>(uv_timer_t *)</td></tr>
<tr class="separator:a27551d6899b1e4de4b2b5854e805c6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4fcb82e68d60ffacca61a3f783a0a2f"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usercb.html#gad4fcb82e68d60ffacca61a3f783a0a2f">lws_callback_function</a>(struct lws *wsi, enum <a class="el" href="group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7">lws_callback_reasons</a> reason, void *user, void *in, size_t len)</td></tr>
<tr class="separator:gad4fcb82e68d60ffacca61a3f783a0a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae7169b2cd346b34fa33d0250db2afd0"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__extensions.html#gaae7169b2cd346b34fa33d0250db2afd0">lws_extension_callback_function</a>(struct lws_context *context, const struct <a class="el" href="structlws__extension.html">lws_extension</a> *ext, struct lws *wsi, enum lws_extension_callback_reasons reason, void *user, void *in, size_t len)</td></tr>
<tr class="separator:gaae7169b2cd346b34fa33d0250db2afd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga40994491e1567f91f579d2b444775266"><td class="memItemLeft" align="right" valign="top">
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><b>lws_plugin_init_func</b>) (struct lws_context *, struct <a class="el" href="structlws__plugin__capability.html">lws_plugin_capability</a> *)</td></tr>
<tr class="separator:ga40994491e1567f91f579d2b444775266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83f7a924ba790fa273476075a59f08b0"><td class="memItemLeft" align="right" valign="top">
typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><b>lws_plugin_destroy_func</b>) (struct lws_context *)</td></tr>
<tr class="separator:ga83f7a924ba790fa273476075a59f08b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga669d3d7ce2d5f193473f649a89b3e7ac"><td class="memItemLeft" align="right" valign="top">
typedef const char *(*&#160;</td><td class="memItemRight" valign="bottom"><b>lws_process_html_state_cb</b>) (void *data, int index)</td></tr>
<tr class="separator:ga669d3d7ce2d5f193473f649a89b3e7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a70527c0861c2ffa3d29333a6aa7f8e"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga5a70527c0861c2ffa3d29333a6aa7f8e">lws_spa_fileupload_cb</a>) (void *data, const char *name, const char *filename, char *buf, int len, enum <a class="el" href="group__form-parsing.html#ga41a74a822771d3dce89751aa3bce28ae">lws_spa_fileupload_states</a> state)</td></tr>
<tr class="separator:ga5a70527c0861c2ffa3d29333a6aa7f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b0ffd4d2b4fa791c0fd75353a330208"><td class="memItemLeft" align="right" valign="top">
typedef void(&#160;</td><td class="memItemRight" valign="bottom"><b>lws_ev_signal_cb_t</b>) (EV_P_ struct ev_signal *w, int revents)</td></tr>
<tr class="separator:ga3b0ffd4d2b4fa791c0fd75353a330208"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga14542b84d2c76efa7814124bb10f9c5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga14542b84d2c76efa7814124bb10f9c5f"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>lws_log_levels</b> { <br />
&#160;&#160;<b>LLL_ERR</b> = 1 &lt;&lt; 0, 
<b>LLL_WARN</b> = 1 &lt;&lt; 1, 
<b>LLL_NOTICE</b> = 1 &lt;&lt; 2, 
<b>LLL_INFO</b> = 1 &lt;&lt; 3, 
<br />
&#160;&#160;<b>LLL_DEBUG</b> = 1 &lt;&lt; 4, 
<b>LLL_PARSER</b> = 1 &lt;&lt; 5, 
<b>LLL_HEADER</b> = 1 &lt;&lt; 6, 
<b>LLL_EXT</b> = 1 &lt;&lt; 7, 
<br />
&#160;&#160;<b>LLL_CLIENT</b> = 1 &lt;&lt; 8, 
<b>LLL_LATENCY</b> = 1 &lt;&lt; 9, 
<b>LLL_COUNT</b> = 10
<br />
 }</td></tr>
<tr class="separator:ga14542b84d2c76efa7814124bb10f9c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae399c571df32ba532c0ca67da9284985"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsclose.html#gae399c571df32ba532c0ca67da9284985">lws_close_status</a> { <br />
&#160;&#160;<b>LWS_CLOSE_STATUS_NOSTATUS</b> = 0, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a3ffa38d5081b85fb739e02a747ccf2c4">LWS_CLOSE_STATUS_NORMAL</a> = 1000, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a9737a68759e739856b150ff9dfa30218">LWS_CLOSE_STATUS_GOINGAWAY</a> = 1001, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a1bb501d212fa4d57053db681b1dfab98">LWS_CLOSE_STATUS_PROTOCOL_ERR</a> = 1002, 
<br />
&#160;&#160;<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a462c99b05459df700919cfd3f53c8276">LWS_CLOSE_STATUS_UNACCEPTABLE_OPCODE</a> = 1003, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985af90cb98d983ad3d4c79df9b6f3d4a4d2">LWS_CLOSE_STATUS_RESERVED</a> = 1004, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a4b8a3b7ce6f731e5248e4b0fb64a5044">LWS_CLOSE_STATUS_NO_STATUS</a> = 1005, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a68b3d34bebd88547dcfa5cadba0acd6c">LWS_CLOSE_STATUS_ABNORMAL_CLOSE</a> = 1006, 
<br />
&#160;&#160;<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a7aef2da0062da606eeb35aaca5cf9050">LWS_CLOSE_STATUS_INVALID_PAYLOAD</a> = 1007, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad09e68295eabdddcba4e332fbea70ae5">LWS_CLOSE_STATUS_POLICY_VIOLATION</a> = 1008, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985a2e1f0113494a58e762eed3d22e7080d8">LWS_CLOSE_STATUS_MESSAGE_TOO_LARGE</a> = 1009, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ac6a161822783ee873be1c66f48d14e0e">LWS_CLOSE_STATUS_EXTENSION_REQUIRED</a> = 1010, 
<br />
&#160;&#160;<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad0869604d79e13700ae5d196a431b350">LWS_CLOSE_STATUS_UNEXPECTED_CONDITION</a> = 1011, 
<a class="el" href="group__wsclose.html#ggae399c571df32ba532c0ca67da9284985ad2b477a91c8445bf34ecd43977f9b390">LWS_CLOSE_STATUS_TLS_FAILURE</a> = 1015, 
<b>LWS_CLOSE_STATUS_NOSTATUS_CONTEXT_DESTROY</b> = 9999
<br />
 }</td></tr>
<tr class="separator:gae399c571df32ba532c0ca67da9284985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad62860e19975ba4c4af401c3cdb6abf7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7">lws_callback_reasons</a> { <br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a24d39bf1cfc0bad9d92da9ac1717e439">LWS_CALLBACK_ESTABLISHED</a> = 0, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad8c6207b0c4e732f3d507f0fb79370e8">LWS_CALLBACK_CLIENT_CONNECTION_ERROR</a> = 1, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa536e574a642ff3ab9e12bff7ba2c6a2">LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH</a> = 2, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7e12418eec9bce85735e6460176ab604">LWS_CALLBACK_CLIENT_ESTABLISHED</a> = 3, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a48a9590e5e18c7920282e094a0bfd9d8">LWS_CALLBACK_CLOSED</a> = 4, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a838b18d255c1b94a533287ba302a2eba">LWS_CALLBACK_CLOSED_HTTP</a> = 5, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a492c1b1c0ac0ed980042ee732fe2990c">LWS_CALLBACK_RECEIVE</a> = 6, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2db02fc6e1c17ab62b52109d1aa9d738">LWS_CALLBACK_RECEIVE_PONG</a> = 7, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7abbbe7a0a67c5866ca9109d46823fc5b1">LWS_CALLBACK_CLIENT_RECEIVE</a> = 8, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a136a7cec11c3afd13245623bd84e76c9">LWS_CALLBACK_CLIENT_RECEIVE_PONG</a> = 9, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8e8b2e6dbeac76d8d126947d2166a514">LWS_CALLBACK_CLIENT_WRITEABLE</a> = 10, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a7ec8e2e9557ee02a4fc9f7dec7e2babc">LWS_CALLBACK_SERVER_WRITEABLE</a> = 11, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae8d1de0bb56e03aa58cb4d44b18edd2e">LWS_CALLBACK_HTTP</a> = 12, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ac4c68e00efcf1ff7bda7ada462aff8ae">LWS_CALLBACK_HTTP_BODY</a> = 13, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a2fce9a8608220f32abbf1422a5498804">LWS_CALLBACK_HTTP_BODY_COMPLETION</a> = 14, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa627548e1296e654fcfab463ec3c9587">LWS_CALLBACK_HTTP_FILE_COMPLETION</a> = 15, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afedadfb3cde37a8ea4c84ed535f26d09">LWS_CALLBACK_HTTP_WRITEABLE</a> = 16, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a026502768778b8d79d62dd0fe4375fc6">LWS_CALLBACK_FILTER_NETWORK_CONNECTION</a> = 17, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a75199176c82c1a56e4a6bbf1cc30c12c">LWS_CALLBACK_FILTER_HTTP_CONNECTION</a> = 18, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae9734e1d7af2abf291665ce9e4a728d3">LWS_CALLBACK_SERVER_NEW_CLIENT_INSTANTIATED</a> = 19, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7accd8753672d319a30b4b4c2fb775e84d">LWS_CALLBACK_FILTER_PROTOCOL_CONNECTION</a> = 20, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae4986291b7a810fe290851d73bebeb1c">LWS_CALLBACK_OPENSSL_LOAD_EXTRA_CLIENT_VERIFY_CERTS</a> = 21, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a06006e98d27e1e884364d88317f83493">LWS_CALLBACK_OPENSSL_LOAD_EXTRA_SERVER_VERIFY_CERTS</a> = 22, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ae5ad65d779b7eab32ab67ceff91a3bac">LWS_CALLBACK_OPENSSL_PERFORM_CLIENT_CERT_VERIFICATION</a> = 23, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a909cc2a7018864b0b71abacc4058fd8f">LWS_CALLBACK_CLIENT_APPEND_HANDSHAKE_HEADER</a> = 24, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a390da3639296660a78cc1a5dcb19037e">LWS_CALLBACK_CONFIRM_EXTENSION_OKAY</a> = 25, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1ce5b22039ca37ee224d00047596ea46">LWS_CALLBACK_CLIENT_CONFIRM_EXTENSION_SUPPORTED</a> = 26, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ad5d34583e3556e153eda91620b48cc49">LWS_CALLBACK_PROTOCOL_INIT</a> = 27, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a54269ca88508e6efd3afdb9d360a9caa">LWS_CALLBACK_PROTOCOL_DESTROY</a> = 28, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7afd8fd77a1cc9405fcb4f26915d7f2d01">LWS_CALLBACK_WSI_CREATE</a> = 29, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aca834dc035b7f7486f9ce40fde54fe9e">LWS_CALLBACK_WSI_DESTROY</a> = 30, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7adfb41c92e2522712207ef7f2462b5e34">LWS_CALLBACK_GET_THREAD_ID</a> = 31, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ab69783a9fbf2ca71ad70706bda77b412">LWS_CALLBACK_ADD_POLL_FD</a> = 32, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a1df60f314710236f9b53efbf468da768">LWS_CALLBACK_DEL_POLL_FD</a> = 33, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa87d2e82fffa42c3680c7403ef94216e">LWS_CALLBACK_CHANGE_MODE_POLL_FD</a> = 34, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a8909732521d379179003d97ab7a05428">LWS_CALLBACK_LOCK_POLL</a> = 35, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a0e9e3dd667c0c42cdbe1a3d921f4fd79">LWS_CALLBACK_UNLOCK_POLL</a> = 36, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa46f705dcf97502e95627ffde614f98b">LWS_CALLBACK_OPENSSL_CONTEXT_REQUIRES_PRIVATE_KEY</a> = 37, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7ac3fc5bbb55e69f90396526287ee84a51">LWS_CALLBACK_WS_PEER_INITIATED_CLOSE</a> = 38, 
<b>LWS_CALLBACK_WS_EXT_DEFAULTS</b> = 39, 
<br />
&#160;&#160;<b>LWS_CALLBACK_CGI</b> = 40, 
<b>LWS_CALLBACK_CGI_TERMINATED</b> = 41, 
<b>LWS_CALLBACK_CGI_STDIN_DATA</b> = 42, 
<b>LWS_CALLBACK_CGI_STDIN_COMPLETED</b> = 43, 
<br />
&#160;&#160;<b>LWS_CALLBACK_ESTABLISHED_CLIENT_HTTP</b> = 44, 
<b>LWS_CALLBACK_CLOSED_CLIENT_HTTP</b> = 45, 
<b>LWS_CALLBACK_RECEIVE_CLIENT_HTTP</b> = 46, 
<b>LWS_CALLBACK_COMPLETED_CLIENT_HTTP</b> = 47, 
<br />
&#160;&#160;<b>LWS_CALLBACK_RECEIVE_CLIENT_HTTP_READ</b> = 48, 
<b>LWS_CALLBACK_HTTP_BIND_PROTOCOL</b> = 49, 
<b>LWS_CALLBACK_HTTP_DROP_PROTOCOL</b> = 50, 
<b>LWS_CALLBACK_CHECK_ACCESS_RIGHTS</b> = 51, 
<br />
&#160;&#160;<b>LWS_CALLBACK_PROCESS_HTML</b> = 52, 
<b>LWS_CALLBACK_ADD_HEADERS</b> = 53, 
<b>LWS_CALLBACK_SESSION_INFO</b> = 54, 
<b>LWS_CALLBACK_GS_EVENT</b> = 55, 
<br />
&#160;&#160;<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aa5cc921b7697743017a533822a3d556a">LWS_CALLBACK_HTTP_PMO</a> = 56, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7aeb0cec65ec82a713cd01e9ca9aeeb5e6">LWS_CALLBACK_CLIENT_HTTP_WRITEABLE</a> = 57, 
<a class="el" href="group__usercb.html#ggad62860e19975ba4c4af401c3cdb6abf7a982579753e70e59a9ea13ce628ac891a">LWS_CALLBACK_USER</a> = 1000
<br />
 }</td></tr>
<tr class="separator:gad62860e19975ba4c4af401c3cdb6abf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9993815eee72c6070300a0ae2f022d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae9993815eee72c6070300a0ae2f022d7"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>lws_extension_callback_reasons</b> { <br />
&#160;&#160;<b>LWS_EXT_CB_SERVER_CONTEXT_CONSTRUCT</b> = 0, 
<b>LWS_EXT_CB_CLIENT_CONTEXT_CONSTRUCT</b> = 1, 
<b>LWS_EXT_CB_SERVER_CONTEXT_DESTRUCT</b> = 2, 
<b>LWS_EXT_CB_CLIENT_CONTEXT_DESTRUCT</b> = 3, 
<br />
&#160;&#160;<b>LWS_EXT_CB_CONSTRUCT</b> = 4, 
<b>LWS_EXT_CB_CLIENT_CONSTRUCT</b> = 5, 
<b>LWS_EXT_CB_CHECK_OK_TO_REALLY_CLOSE</b> = 6, 
<b>LWS_EXT_CB_CHECK_OK_TO_PROPOSE_EXTENSION</b> = 7, 
<br />
&#160;&#160;<b>LWS_EXT_CB_DESTROY</b> = 8, 
<b>LWS_EXT_CB_DESTROY_ANY_WSI_CLOSING</b> = 9, 
<b>LWS_EXT_CB_ANY_WSI_ESTABLISHED</b> = 10, 
<b>LWS_EXT_CB_PACKET_RX_PREPARSE</b> = 11, 
<br />
&#160;&#160;<b>LWS_EXT_CB_PACKET_TX_PRESEND</b> = 12, 
<b>LWS_EXT_CB_PACKET_TX_DO_SEND</b> = 13, 
<b>LWS_EXT_CB_HANDSHAKE_REPLY_TX</b> = 14, 
<b>LWS_EXT_CB_FLUSH_PENDING_TX</b> = 15, 
<br />
&#160;&#160;<b>LWS_EXT_CB_EXTENDED_PAYLOAD_RX</b> = 16, 
<b>LWS_EXT_CB_CAN_PROXY_CLIENT_CONNECTION</b> = 17, 
<b>LWS_EXT_CB_1HZ</b> = 18, 
<b>LWS_EXT_CB_REQUEST_ON_WRITEABLE</b> = 19, 
<br />
&#160;&#160;<b>LWS_EXT_CB_IS_WRITEABLE</b> = 20, 
<b>LWS_EXT_CB_PAYLOAD_TX</b> = 21, 
<b>LWS_EXT_CB_PAYLOAD_RX</b> = 22, 
<b>LWS_EXT_CB_OPTION_DEFAULT</b> = 23, 
<br />
&#160;&#160;<b>LWS_EXT_CB_OPTION_SET</b> = 24, 
<b>LWS_EXT_CB_OPTION_CONFIRM</b> = 25, 
<b>LWS_EXT_CB_NAMED_OPTION_SET</b> = 26
<br />
 }</td></tr>
<tr class="separator:gae9993815eee72c6070300a0ae2f022d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc9f55936dc165257a2e1f7d47bce89e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__extensions.html#gacc9f55936dc165257a2e1f7d47bce89e">lws_ext_options_types</a> { <a class="el" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89eaabcf56c456c1ff6e81dc82586a16f14c">EXTARG_NONE</a>, 
<a class="el" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea1c86adf924c8786a12bee9687094673e">EXTARG_DEC</a>, 
<a class="el" href="group__extensions.html#ggacc9f55936dc165257a2e1f7d47bce89ea5265abe3e1c3f64412f2affe7bffd880">EXTARG_OPT_DEC</a>
 }</td></tr>
<tr class="separator:gacc9f55936dc165257a2e1f7d47bce89e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c2dc7bfb4ccb91c5d771f9e9ea237e1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__generic-sessions.html#ga7c2dc7bfb4ccb91c5d771f9e9ea237e1">lwsgs_auth_bits</a> { <a class="el" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a81e63075115dedd150265d81b8f7fa57">LWSGS_AUTH_LOGGED_IN</a> = 1, 
<a class="el" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a0657a9e846814781b128c397fe4b10bf">LWSGS_AUTH_ADMIN</a> = 2, 
<a class="el" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a5a607e4668d20cadada62c4b8007f887">LWSGS_AUTH_VERIFIED</a> = 4, 
<a class="el" href="group__generic-sessions.html#gga7c2dc7bfb4ccb91c5d771f9e9ea237e1a2cd8fb86e3b85c106e7711c03f0ddd0a">LWSGS_AUTH_FORGOT_FLOW</a> = 8
 }</td></tr>
<tr class="separator:ga7c2dc7bfb4ccb91c5d771f9e9ea237e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa93946b3d921072209d5cd8cdfa5332e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__generic-sessions.html#gaa93946b3d921072209d5cd8cdfa5332e">lws_gs_event</a> { <a class="el" href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ea596010a165bf13473c5eea3a34cd4308">LWSGSE_CREATED</a>, 
<a class="el" href="group__generic-sessions.html#ggaa93946b3d921072209d5cd8cdfa5332ead908cdc5689c5d22c9d3c8934e94dcde">LWSGSE_DELETED</a>
 }</td></tr>
<tr class="separator:gaa93946b3d921072209d5cd8cdfa5332e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41c2d763f78cc248df3b9f8645dbd2a5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga41c2d763f78cc248df3b9f8645dbd2a5">lws_context_options</a> { <br />
&#160;&#160;<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a274ed462a1a9239eb6ddf9007f5b7092">LWS_SERVER_OPTION_REQUIRE_VALID_OPENSSL_CLIENT_CERT</a>, 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a6582c985ee0ceaadc1d277030eae2d7c">LWS_SERVER_OPTION_SKIP_SERVER_CANONICAL_NAME</a> = (1 &lt;&lt; 2), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a1cc4562d05cba52a6dfa0697a65ade0d">LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT</a>, 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a273d9975675130de0c6dc937dde7c8a6">LWS_SERVER_OPTION_LIBEV</a> = (1 &lt;&lt; 4), 
<br />
&#160;&#160;<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a34ab36e68c0d593b6f19b8d5ef1240a9">LWS_SERVER_OPTION_DISABLE_IPV6</a> = (1 &lt;&lt; 5), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a4933347a821e73c3f1e13fb6bfc7ad93">LWS_SERVER_OPTION_DISABLE_OS_CA_CERTS</a> = (1 &lt;&lt; 6), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5ac56a8a6590e74a8016d0fae09fb404fc">LWS_SERVER_OPTION_PEER_CERT_NOT_REQUIRED</a> = (1 &lt;&lt; 7), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5aa0158b4e85420811e6b0f1378c6ded0f">LWS_SERVER_OPTION_VALIDATE_UTF8</a> = (1 &lt;&lt; 8), 
<br />
&#160;&#160;<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a1b2f8bde0f62adc7ebe81b2043f34c0c">LWS_SERVER_OPTION_SSL_ECDH</a>, 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5aff121db04a10cf8b2c5df9d4f2b89f1e">LWS_SERVER_OPTION_LIBUV</a> = (1 &lt;&lt; 10), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a4832187186c4d130c68051214cd42ada">LWS_SERVER_OPTION_REDIRECT_HTTP_TO_HTTPS</a>, 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a7fed6a527c8d5e0acac1b4179644583a">LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT</a> = (1 &lt;&lt; 12), 
<br />
&#160;&#160;<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5accc9d0d11d1124a21659586164b0962e">LWS_SERVER_OPTION_EXPLICIT_VHOSTS</a> = (1 &lt;&lt; 13), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a9637e9001d8c8b2521086bcafbd8a941">LWS_SERVER_OPTION_UNIX_SOCK</a> = (1 &lt;&lt; 14), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5ac962efd35abf6c402f9fb14aa14f5016">LWS_SERVER_OPTION_STS</a> = (1 &lt;&lt; 15), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5af62887536e25e053e68741006dba46d8">LWS_SERVER_OPTION_IPV6_V6ONLY_MODIFY</a> = (1 &lt;&lt; 16), 
<br />
&#160;&#160;<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5aca5d42820b65eac5618ec3f0bd8a1160">LWS_SERVER_OPTION_IPV6_V6ONLY_VALUE</a> = (1 &lt;&lt; 17), 
<a class="el" href="group__context-and-vhost.html#gga41c2d763f78cc248df3b9f8645dbd2a5a87a824b2e812f4c3e7f2c4a1ea4f8abd">LWS_SERVER_OPTION_UV_NO_SIGSEGV_SIGFPE_SPIN</a> = (1 &lt;&lt; 18)
<br />
 }</td></tr>
<tr class="separator:ga41c2d763f78cc248df3b9f8645dbd2a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31eca18e50cb4357480f2fcad36ff437"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__vhost-mounts.html#ga31eca18e50cb4357480f2fcad36ff437">lws_mount_protocols</a> { <br />
&#160;&#160;<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a1e9f0842b0e85db50fe648ed4ba9a4b0">LWSMPRO_HTTP</a> = 0, 
<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437afbd10eb4777517ed1f6bfdcf3b9ea1d1">LWSMPRO_HTTPS</a> = 1, 
<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a42f2361cfe76cd287fa8fcfc502357e2">LWSMPRO_FILE</a> = 2, 
<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a13ab58b01ac6e05f595977f1e0f0db69">LWSMPRO_CGI</a> = 3, 
<br />
&#160;&#160;<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437aec137a2434851bd856ceebfb697b9970">LWSMPRO_REDIR_HTTP</a> = 4, 
<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a8894d16316863077dfe530963ca59f67">LWSMPRO_REDIR_HTTPS</a> = 5, 
<a class="el" href="group__vhost-mounts.html#gga31eca18e50cb4357480f2fcad36ff437a946a88cf9c852eed2c0317f4115d19da">LWSMPRO_CALLBACK</a> = 6
<br />
 }</td></tr>
<tr class="separator:ga31eca18e50cb4357480f2fcad36ff437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96f3dbad54b2853969cfa933d66871ce"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__client.html#ga96f3dbad54b2853969cfa933d66871ce">lws_client_connect_ssl_connection_flags</a> { <b>LCCSCF_USE_SSL</b> = (1 &lt;&lt; 0), 
<b>LCCSCF_ALLOW_SELFSIGNED</b> = (1 &lt;&lt; 1), 
<b>LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK</b> = (1 &lt;&lt; 2)
 }</td></tr>
<tr class="separator:ga96f3dbad54b2853969cfa933d66871ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc3b93f68c8bdd857ad32913628dfa8d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabc3b93f68c8bdd857ad32913628dfa8d"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>http_status</b> { <br />
&#160;&#160;<b>HTTP_STATUS_OK</b> = 200, 
<b>HTTP_STATUS_NO_CONTENT</b> = 204, 
<b>HTTP_STATUS_MOVED_PERMANENTLY</b> = 301, 
<b>HTTP_STATUS_FOUND</b> = 302, 
<br />
&#160;&#160;<b>HTTP_STATUS_SEE_OTHER</b> = 303, 
<b>HTTP_STATUS_BAD_REQUEST</b> = 400, 
<b>HTTP_STATUS_UNAUTHORIZED</b>, 
<b>HTTP_STATUS_PAYMENT_REQUIRED</b>, 
<br />
&#160;&#160;<b>HTTP_STATUS_FORBIDDEN</b>, 
<b>HTTP_STATUS_NOT_FOUND</b>, 
<b>HTTP_STATUS_METHOD_NOT_ALLOWED</b>, 
<b>HTTP_STATUS_NOT_ACCEPTABLE</b>, 
<br />
&#160;&#160;<b>HTTP_STATUS_PROXY_AUTH_REQUIRED</b>, 
<b>HTTP_STATUS_REQUEST_TIMEOUT</b>, 
<b>HTTP_STATUS_CONFLICT</b>, 
<b>HTTP_STATUS_GONE</b>, 
<br />
&#160;&#160;<b>HTTP_STATUS_LENGTH_REQUIRED</b>, 
<b>HTTP_STATUS_PRECONDITION_FAILED</b>, 
<b>HTTP_STATUS_REQ_ENTITY_TOO_LARGE</b>, 
<b>HTTP_STATUS_REQ_URI_TOO_LONG</b>, 
<br />
&#160;&#160;<b>HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE</b>, 
<b>HTTP_STATUS_REQ_RANGE_NOT_SATISFIABLE</b>, 
<b>HTTP_STATUS_EXPECTATION_FAILED</b>, 
<b>HTTP_STATUS_INTERNAL_SERVER_ERROR</b> = 500, 
<br />
&#160;&#160;<b>HTTP_STATUS_NOT_IMPLEMENTED</b>, 
<b>HTTP_STATUS_BAD_GATEWAY</b>, 
<b>HTTP_STATUS_SERVICE_UNAVAILABLE</b>, 
<b>HTTP_STATUS_GATEWAY_TIMEOUT</b>, 
<br />
&#160;&#160;<b>HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED</b>
<br />
 }</td></tr>
<tr class="separator:gabc3b93f68c8bdd857ad32913628dfa8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e747906f9d76532ec118d6ef418b82e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6e747906f9d76532ec118d6ef418b82e"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>lws_token_indexes</b> { <br />
&#160;&#160;<b>WSI_TOKEN_GET_URI</b> = 0, 
<b>WSI_TOKEN_POST_URI</b> = 1, 
<b>WSI_TOKEN_OPTIONS_URI</b> = 2, 
<b>WSI_TOKEN_HOST</b> = 3, 
<br />
&#160;&#160;<b>WSI_TOKEN_CONNECTION</b> = 4, 
<b>WSI_TOKEN_UPGRADE</b> = 5, 
<b>WSI_TOKEN_ORIGIN</b> = 6, 
<b>WSI_TOKEN_DRAFT</b> = 7, 
<br />
&#160;&#160;<b>WSI_TOKEN_CHALLENGE</b> = 8, 
<b>WSI_TOKEN_EXTENSIONS</b> = 9, 
<b>WSI_TOKEN_KEY1</b> = 10, 
<b>WSI_TOKEN_KEY2</b> = 11, 
<br />
&#160;&#160;<b>WSI_TOKEN_PROTOCOL</b> = 12, 
<b>WSI_TOKEN_ACCEPT</b> = 13, 
<b>WSI_TOKEN_NONCE</b> = 14, 
<b>WSI_TOKEN_HTTP</b> = 15, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP2_SETTINGS</b> = 16, 
<b>WSI_TOKEN_HTTP_ACCEPT</b> = 17, 
<b>WSI_TOKEN_HTTP_AC_REQUEST_HEADERS</b> = 18, 
<b>WSI_TOKEN_HTTP_IF_MODIFIED_SINCE</b> = 19, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_IF_NONE_MATCH</b> = 20, 
<b>WSI_TOKEN_HTTP_ACCEPT_ENCODING</b> = 21, 
<b>WSI_TOKEN_HTTP_ACCEPT_LANGUAGE</b> = 22, 
<b>WSI_TOKEN_HTTP_PRAGMA</b> = 23, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_CACHE_CONTROL</b> = 24, 
<b>WSI_TOKEN_HTTP_AUTHORIZATION</b> = 25, 
<b>WSI_TOKEN_HTTP_COOKIE</b> = 26, 
<b>WSI_TOKEN_HTTP_CONTENT_LENGTH</b> = 27, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_CONTENT_TYPE</b> = 28, 
<b>WSI_TOKEN_HTTP_DATE</b> = 29, 
<b>WSI_TOKEN_HTTP_RANGE</b> = 30, 
<b>WSI_TOKEN_HTTP_REFERER</b> = 31, 
<br />
&#160;&#160;<b>WSI_TOKEN_KEY</b> = 32, 
<b>WSI_TOKEN_VERSION</b> = 33, 
<b>WSI_TOKEN_SWORIGIN</b> = 34, 
<b>WSI_TOKEN_HTTP_COLON_AUTHORITY</b> = 35, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_COLON_METHOD</b> = 36, 
<b>WSI_TOKEN_HTTP_COLON_PATH</b> = 37, 
<b>WSI_TOKEN_HTTP_COLON_SCHEME</b> = 38, 
<b>WSI_TOKEN_HTTP_COLON_STATUS</b> = 39, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_ACCEPT_CHARSET</b> = 40, 
<b>WSI_TOKEN_HTTP_ACCEPT_RANGES</b> = 41, 
<b>WSI_TOKEN_HTTP_ACCESS_CONTROL_ALLOW_ORIGIN</b> = 42, 
<b>WSI_TOKEN_HTTP_AGE</b> = 43, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_ALLOW</b> = 44, 
<b>WSI_TOKEN_HTTP_CONTENT_DISPOSITION</b> = 45, 
<b>WSI_TOKEN_HTTP_CONTENT_ENCODING</b> = 46, 
<b>WSI_TOKEN_HTTP_CONTENT_LANGUAGE</b> = 47, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_CONTENT_LOCATION</b> = 48, 
<b>WSI_TOKEN_HTTP_CONTENT_RANGE</b> = 49, 
<b>WSI_TOKEN_HTTP_ETAG</b> = 50, 
<b>WSI_TOKEN_HTTP_EXPECT</b> = 51, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_EXPIRES</b> = 52, 
<b>WSI_TOKEN_HTTP_FROM</b> = 53, 
<b>WSI_TOKEN_HTTP_IF_MATCH</b> = 54, 
<b>WSI_TOKEN_HTTP_IF_RANGE</b> = 55, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_IF_UNMODIFIED_SINCE</b> = 56, 
<b>WSI_TOKEN_HTTP_LAST_MODIFIED</b> = 57, 
<b>WSI_TOKEN_HTTP_LINK</b> = 58, 
<b>WSI_TOKEN_HTTP_LOCATION</b> = 59, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_MAX_FORWARDS</b> = 60, 
<b>WSI_TOKEN_HTTP_PROXY_AUTHENTICATE</b> = 61, 
<b>WSI_TOKEN_HTTP_PROXY_AUTHORIZATION</b> = 62, 
<b>WSI_TOKEN_HTTP_REFRESH</b> = 63, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_RETRY_AFTER</b> = 64, 
<b>WSI_TOKEN_HTTP_SERVER</b> = 65, 
<b>WSI_TOKEN_HTTP_SET_COOKIE</b> = 66, 
<b>WSI_TOKEN_HTTP_STRICT_TRANSPORT_SECURITY</b> = 67, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_TRANSFER_ENCODING</b> = 68, 
<b>WSI_TOKEN_HTTP_USER_AGENT</b> = 69, 
<b>WSI_TOKEN_HTTP_VARY</b> = 70, 
<b>WSI_TOKEN_HTTP_VIA</b> = 71, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_WWW_AUTHENTICATE</b> = 72, 
<b>WSI_TOKEN_PATCH_URI</b> = 73, 
<b>WSI_TOKEN_PUT_URI</b> = 74, 
<b>WSI_TOKEN_DELETE_URI</b> = 75, 
<br />
&#160;&#160;<b>WSI_TOKEN_HTTP_URI_ARGS</b> = 76, 
<b>WSI_TOKEN_PROXY</b> = 77, 
<b>WSI_TOKEN_HTTP_X_REAL_IP</b> = 78, 
<b>WSI_TOKEN_HTTP1_0</b> = 79, 
<br />
&#160;&#160;<b>_WSI_TOKEN_CLIENT_SENT_PROTOCOLS</b>, 
<b>_WSI_TOKEN_CLIENT_PEER_ADDRESS</b>, 
<b>_WSI_TOKEN_CLIENT_URI</b>, 
<b>_WSI_TOKEN_CLIENT_HOST</b>, 
<br />
&#160;&#160;<b>_WSI_TOKEN_CLIENT_ORIGIN</b>, 
<b>_WSI_TOKEN_CLIENT_METHOD</b>, 
<b>WSI_TOKEN_COUNT</b>, 
<b>WSI_TOKEN_NAME_PART</b>, 
<br />
&#160;&#160;<b>WSI_TOKEN_SKIPPING</b>, 
<b>WSI_TOKEN_SKIPPING_SAW_CR</b>, 
<b>WSI_PARSING_COMPLETE</b>, 
<b>WSI_INIT_TOKEN_MUXURL</b>
<br />
 }</td></tr>
<tr class="separator:ga6e747906f9d76532ec118d6ef418b82e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41a74a822771d3dce89751aa3bce28ae"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga41a74a822771d3dce89751aa3bce28ae">lws_spa_fileupload_states</a> { <a class="el" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aead3a958e7719ac273c3ba4f684f00c87f">LWS_UFS_CONTENT</a>, 
<a class="el" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea6ce2a55a4c3695cdb640c893d95bd3a7">LWS_UFS_FINAL_CONTENT</a>, 
<a class="el" href="group__form-parsing.html#gga41a74a822771d3dce89751aa3bce28aea2d25de44865bd44e5a3903a2bab9ca83">LWS_UFS_OPEN</a>
 }</td></tr>
<tr class="separator:ga41a74a822771d3dce89751aa3bce28ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c0aa4b9c3c55bae7b35cbfac3246c87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2c0aa4b9c3c55bae7b35cbfac3246c87"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>pending_timeout</b> { <br />
&#160;&#160;<b>NO_PENDING_TIMEOUT</b> = 0, 
<b>PENDING_TIMEOUT_AWAITING_PROXY_RESPONSE</b> = 1, 
<b>PENDING_TIMEOUT_AWAITING_CONNECT_RESPONSE</b> = 2, 
<b>PENDING_TIMEOUT_ESTABLISH_WITH_SERVER</b> = 3, 
<br />
&#160;&#160;<b>PENDING_TIMEOUT_AWAITING_SERVER_RESPONSE</b> = 4, 
<b>PENDING_TIMEOUT_AWAITING_PING</b> = 5, 
<b>PENDING_TIMEOUT_CLOSE_ACK</b> = 6, 
<b>PENDING_TIMEOUT_AWAITING_EXTENSION_CONNECT_RESPONSE</b> = 7, 
<br />
&#160;&#160;<b>PENDING_TIMEOUT_SENT_CLIENT_HANDSHAKE</b> = 8, 
<b>PENDING_TIMEOUT_SSL_ACCEPT</b> = 9, 
<b>PENDING_TIMEOUT_HTTP_CONTENT</b> = 10, 
<b>PENDING_TIMEOUT_AWAITING_CLIENT_HS_SEND</b> = 11, 
<br />
&#160;&#160;<b>PENDING_FLUSH_STORED_SEND_BEFORE_CLOSE</b> = 12, 
<b>PENDING_TIMEOUT_SHUTDOWN_FLUSH</b> = 13, 
<b>PENDING_TIMEOUT_CGI</b> = 14, 
<b>PENDING_TIMEOUT_HTTP_KEEPALIVE_IDLE</b> = 15, 
<br />
&#160;&#160;<b>PENDING_TIMEOUT_WS_PONG_CHECK_SEND_PING</b> = 16, 
<b>PENDING_TIMEOUT_WS_PONG_CHECK_GET_PONG</b> = 17, 
<b>PENDING_TIMEOUT_CLIENT_ISSUE_PAYLOAD</b> = 18
<br />
 }</td></tr>
<tr class="separator:ga2c0aa4b9c3c55bae7b35cbfac3246c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98b099cf8c1c7e38ad78501f270e193d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sending-data.html#ga98b099cf8c1c7e38ad78501f270e193d">lws_write_protocol</a> { <br />
&#160;&#160;<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da80e8f169fda236c56bfb795ed62903db">LWS_WRITE_TEXT</a> = 0, 
<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193daf6486c0dba50c44198100717721d9ab2">LWS_WRITE_BINARY</a> = 1, 
<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da10047eb05b5e1c298151dc47a5b44826">LWS_WRITE_CONTINUATION</a> = 2, 
<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dabb6705e1d1327cdda5025be28f07712e">LWS_WRITE_HTTP</a> = 3, 
<br />
&#160;&#160;<b>LWS_WRITE_PING</b> = 5, 
<b>LWS_WRITE_PONG</b> = 6, 
<b>LWS_WRITE_HTTP_FINAL</b> = 7, 
<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193dafe5a38e940ce56708ac814627e9c0917">LWS_WRITE_HTTP_HEADERS</a> = 8, 
<br />
&#160;&#160;<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da115440f272a5d55518adfc8099acfee3">LWS_WRITE_NO_FIN</a> = 0x40, 
<a class="el" href="group__sending-data.html#gga98b099cf8c1c7e38ad78501f270e193da220d8e8652d9b97fb66e476e2a60ffce">LWS_WRITE_CLIENT_IGNORE_XOR_MASK</a> = 0x80
<br />
 }</td></tr>
<tr class="separator:ga98b099cf8c1c7e38ad78501f270e193d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2271141d8be8d72b47ba327130b4905f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2271141d8be8d72b47ba327130b4905f"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>lws_enum_stdinouterr</b> { <b>LWS_STDIN</b> = 0, 
<b>LWS_STDOUT</b> = 1, 
<b>LWS_STDERR</b> = 2
 }</td></tr>
<tr class="separator:a2271141d8be8d72b47ba327130b4905f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42394a38f08a97420c98127358cfeedb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42394a38f08a97420c98127358cfeedb"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>lws_cgi_hdr_state</b> { <br />
&#160;&#160;<b>LCHS_HEADER</b>, 
<b>LCHS_CR1</b>, 
<b>LCHS_LF1</b>, 
<b>LCHS_CR2</b>, 
<br />
&#160;&#160;<b>LCHS_LF2</b>, 
<b>LHCS_PAYLOAD</b>, 
<b>LCHS_SINGLE_0A</b>
<br />
 }</td></tr>
<tr class="separator:a42394a38f08a97420c98127358cfeedb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga116be79bf44f9dc2a97f46e051fe4dc0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0">lwsgs_smtp_states</a> { <br />
&#160;&#160;<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, 
<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, 
<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, 
<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, 
<br />
&#160;&#160;<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, 
<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, 
<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, 
<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, 
<br />
&#160;&#160;<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>
<br />
 }</td></tr>
<tr class="separator:ga116be79bf44f9dc2a97f46e051fe4dc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf5f07837692b2f231a79da8a058288aa"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>_lws_log</b> (int filter, const char *format,...)</td></tr>
<tr class="separator:gaf5f07837692b2f231a79da8a058288aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74eb146969f0595e12ea835851b4588e"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>_lws_logv</b> (int filter, const char *format, va_list vl)</td></tr>
<tr class="separator:ga74eb146969f0595e12ea835851b4588e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42e39775c6b69b7251bdbf5a2cdd5dcd"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log.html#ga42e39775c6b69b7251bdbf5a2cdd5dcd">lwsl_timestamp</a> (int level, char *p, int len)</td></tr>
<tr class="separator:ga42e39775c6b69b7251bdbf5a2cdd5dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga898b1f03872ad019f507d4e35bbefa90"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log.html#ga898b1f03872ad019f507d4e35bbefa90">lwsl_hexdump</a> (void *buf, size_t len)</td></tr>
<tr class="separator:ga898b1f03872ad019f507d4e35bbefa90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga244647f9e1bf0097ccdde66d74f41e26"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log.html#ga244647f9e1bf0097ccdde66d74f41e26">lws_set_log_level</a> (int level, void(*log_emit_function)(int level, const char *line))</td></tr>
<tr class="separator:ga244647f9e1bf0097ccdde66d74f41e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7c0fc936cc9f1eb58e2bb234c15147c"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__log.html#gab7c0fc936cc9f1eb58e2bb234c15147c">lwsl_emit_syslog</a> (int level, const char *line)</td></tr>
<tr class="separator:gab7c0fc936cc9f1eb58e2bb234c15147c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b056fdcf949a838ff82209b4a627dd9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b056fdcf949a838ff82209b4a627dd9"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>mbed3_create_tcp_stream_socket</b> (void)</td></tr>
<tr class="separator:a0b056fdcf949a838ff82209b4a627dd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefb2f20fe5bb29d79701a399838ef4ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefb2f20fe5bb29d79701a399838ef4ce"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mbed3_delete_tcp_stream_socket</b> (void *sockfd)</td></tr>
<tr class="separator:aefb2f20fe5bb29d79701a399838ef4ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f2a8506fd963db95a5103823c60fb0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f2a8506fd963db95a5103823c60fb0a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mbed3_tcp_stream_bind</b> (void *sock, int port, struct lws *)</td></tr>
<tr class="separator:a9f2a8506fd963db95a5103823c60fb0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9032a3062641d334161c29adcc4fa15d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9032a3062641d334161c29adcc4fa15d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>mbed3_tcp_stream_accept</b> (void *sock, struct lws *)</td></tr>
<tr class="separator:a9032a3062641d334161c29adcc4fa15d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e877a4f0bb027d05d3a90c8e6a632de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e877a4f0bb027d05d3a90c8e6a632de"></a>
lws_sockfd_type&#160;</td><td class="memItemRight" valign="bottom"><b>esp8266_create_tcp_listen_socket</b> (struct lws_vhost *vh)</td></tr>
<tr class="separator:a4e877a4f0bb027d05d3a90c8e6a632de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b1bfc6f34319188d2aa40500d825bab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b1bfc6f34319188d2aa40500d825bab"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>esp8266_tcp_stream_accept</b> (lws_sockfd_type fd, struct lws *wsi)</td></tr>
<tr class="separator:a9b1bfc6f34319188d2aa40500d825bab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75e9827318684877deb4189121a8cd2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75e9827318684877deb4189121a8cd2a"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>ets_snprintf</b> (char *str, size_t size, const char *format,...)</td></tr>
<tr class="separator:a75e9827318684877deb4189121a8cd2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a863bdd5bca33bcbaa424c42fb7b2fc96"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a863bdd5bca33bcbaa424c42fb7b2fc96"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>os_timer_disarm</b> (void *)</td></tr>
<tr class="separator:a863bdd5bca33bcbaa424c42fb7b2fc96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17f5fc891b31d2920bd18b0d66d6cb25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17f5fc891b31d2920bd18b0d66d6cb25"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>os_timer_setfn</b> (os_timer_t *, os_timer_func_t *, void *)</td></tr>
<tr class="separator:a17f5fc891b31d2920bd18b0d66d6cb25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b878fb94f4596226c982eef4f42a607"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b878fb94f4596226c982eef4f42a607"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ets_timer_arm_new</b> (os_timer_t *, int, int, int)</td></tr>
<tr class="separator:a9b878fb94f4596226c982eef4f42a607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1c863415d1783cd8de7938aa6efa262"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsclose.html#gaa1c863415d1783cd8de7938aa6efa262">lws_close_reason</a> (struct lws *wsi, enum <a class="el" href="group__wsclose.html#gae399c571df32ba532c0ca67da9284985">lws_close_status</a> status, unsigned char *buf, size_t len)</td></tr>
<tr class="separator:gaa1c863415d1783cd8de7938aa6efa262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0e24e1768f83a7fb07896ce975704b9"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__extensions.html#gae0e24e1768f83a7fb07896ce975704b9">lws_set_extension_option</a> (struct lws *wsi, const char *ext_name, const char *opt_name, const char *opt_val)</td></tr>
<tr class="separator:gae0e24e1768f83a7fb07896ce975704b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fb3e2c3dfb9d64dc87026a4e99c128b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__extensions.html#ga6fb3e2c3dfb9d64dc87026a4e99c128b">lws_ext_parse_options</a> (const struct <a class="el" href="structlws__extension.html">lws_extension</a> *ext, struct lws *wsi, void *ext_user, const struct <a class="el" href="structlws__ext__options.html">lws_ext_options</a> *opts, const char *o, int len)</td></tr>
<tr class="separator:ga6fb3e2c3dfb9d64dc87026a4e99c128b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4cdbe42d872e21a448a947714d6c607e"><td class="memItemLeft" align="right" valign="top">LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__extensions.html#ga4cdbe42d872e21a448a947714d6c607e">lws_extension_callback_pm_deflate</a> (struct lws_context *context, const struct <a class="el" href="structlws__extension.html">lws_extension</a> *ext, struct lws *wsi, enum lws_extension_callback_reasons reason, void *user, void *in, size_t len)</td></tr>
<tr class="separator:ga4cdbe42d872e21a448a947714d6c607e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25754726d97c5f519d313e691a9fe29d"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Protocols-and-Plugins.html#ga25754726d97c5f519d313e691a9fe29d">lws_vhost_name_to_protocol</a> (struct lws_vhost *vh, const char *name)</td></tr>
<tr class="separator:ga25754726d97c5f519d313e691a9fe29d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72ad550786ca7976463589d347e62112"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Protocols-and-Plugins.html#ga72ad550786ca7976463589d347e62112">lws_get_protocol</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga72ad550786ca7976463589d347e62112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bbe5e65faca068845704bab911a5030"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Protocols-and-Plugins.html#ga8bbe5e65faca068845704bab911a5030">lws_protocol_get</a> (struct lws *wsi) LWS_WARN_DEPRECATED</td></tr>
<tr class="separator:ga8bbe5e65faca068845704bab911a5030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec0c0477288ff3f83aff38d357b883d1"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Protocols-and-Plugins.html#gaec0c0477288ff3f83aff38d357b883d1">lws_protocol_vh_priv_zalloc</a> (struct lws_vhost *vhost, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *prot, int size)</td></tr>
<tr class="separator:gaec0c0477288ff3f83aff38d357b883d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf3be4243443baac0f8be1fcfb4d25129"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Protocols-and-Plugins.html#gaf3be4243443baac0f8be1fcfb4d25129">lws_protocol_vh_priv_get</a> (struct lws_vhost *vhost, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *prot)</td></tr>
<tr class="separator:gaf3be4243443baac0f8be1fcfb4d25129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga106b37ae9c247e84d191ab09441adc43"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Protocols-and-Plugins.html#ga106b37ae9c247e84d191ab09441adc43">lws_finalize_startup</a> (struct lws_context *context)</td></tr>
<tr class="separator:ga106b37ae9c247e84d191ab09441adc43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2fff58562caab7510c41eeac85a8648"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws_context *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#gaf2fff58562caab7510c41eeac85a8648">lws_create_context</a> (struct <a class="el" href="structlws__context__creation__info.html">lws_context_creation_info</a> *info)</td></tr>
<tr class="separator:gaf2fff58562caab7510c41eeac85a8648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ee0314028755f1ddfa9428e09b4fddb"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga8ee0314028755f1ddfa9428e09b4fddb">lws_context_destroy</a> (struct lws_context *context)</td></tr>
<tr class="separator:ga8ee0314028755f1ddfa9428e09b4fddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e9d5405547a457d86e0b4f0ae2bb1c4"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga7e9d5405547a457d86e0b4f0ae2bb1c4">lws_set_proxy</a> (struct lws_vhost *vhost, const char *proxy)</td></tr>
<tr class="separator:ga7e9d5405547a457d86e0b4f0ae2bb1c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c54c667ccd9b8b3dddcd123ca72f87c"><td class="memItemLeft" align="right" valign="top">LWS_EXTERN LWS_VISIBLE struct lws_vhost *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga0c54c667ccd9b8b3dddcd123ca72f87c">lws_create_vhost</a> (struct lws_context *context, struct <a class="el" href="structlws__context__creation__info.html">lws_context_creation_info</a> *info)</td></tr>
<tr class="separator:ga0c54c667ccd9b8b3dddcd123ca72f87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98d88c9080fd89c37114363a6474ea73"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga98d88c9080fd89c37114363a6474ea73">lwsws_get_config_globals</a> (struct <a class="el" href="structlws__context__creation__info.html">lws_context_creation_info</a> *info, const char *d, char **config_strings, int *len)</td></tr>
<tr class="separator:ga98d88c9080fd89c37114363a6474ea73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga341064721add2618ae1b29717493a212"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga341064721add2618ae1b29717493a212">lwsws_get_config_vhosts</a> (struct lws_context *context, struct <a class="el" href="structlws__context__creation__info.html">lws_context_creation_info</a> *info, const char *d, char **config_strings, int *len)</td></tr>
<tr class="separator:ga341064721add2618ae1b29717493a212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8db03e19a372e34ac25cf21af894a02c"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws_vhost *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga8db03e19a372e34ac25cf21af894a02c">lws_vhost_get</a> (struct lws *wsi) LWS_WARN_DEPRECATED</td></tr>
<tr class="separator:ga8db03e19a372e34ac25cf21af894a02c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06e77ce2916f8bc9826ef8d9d68e3932"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws_vhost *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga06e77ce2916f8bc9826ef8d9d68e3932">lws_get_vhost</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga06e77ce2916f8bc9826ef8d9d68e3932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94e6cc2223c4eec316b13bcebc3628b6"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#ga94e6cc2223c4eec316b13bcebc3628b6">lws_json_dump_vhost</a> (const struct lws_vhost *vh, char *buf, int len)</td></tr>
<tr class="separator:ga94e6cc2223c4eec316b13bcebc3628b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2134657cdd2ea7a59e13ad314e4c50d"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#gae2134657cdd2ea7a59e13ad314e4c50d">lws_json_dump_context</a> (const struct lws_context *context, char *buf, int len)</td></tr>
<tr class="separator:gae2134657cdd2ea7a59e13ad314e4c50d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb12f934bfd178bd2132a9e73fc641da"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context-and-vhost.html#gaeb12f934bfd178bd2132a9e73fc641da">lws_context_user</a> (struct lws_context *context)</td></tr>
<tr class="separator:gaeb12f934bfd178bd2132a9e73fc641da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c966136905f467816307cfba6deb5fd"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__client.html#ga0c966136905f467816307cfba6deb5fd">lws_client_connect_via_info</a> (struct <a class="el" href="structlws__client__connect__info.html">lws_client_connect_info</a> *ccinfo)</td></tr>
<tr class="separator:ga0c966136905f467816307cfba6deb5fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4af0a20108a95e8b6d94dd4d80055ff3"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__client.html#ga4af0a20108a95e8b6d94dd4d80055ff3">lws_client_connect</a> (struct lws_context *clients, const char *address, int port, int ssl_connection, const char *path, const char *host, const char *origin, const char *protocol, int ietf_version_or_minus_one) LWS_WARN_DEPRECATED</td></tr>
<tr class="separator:ga4af0a20108a95e8b6d94dd4d80055ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6a8558b4410961a880241c2ac1271e2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__client.html#gac6a8558b4410961a880241c2ac1271e2">lws_client_connect_extended</a> (struct lws_context *clients, const char *address, int port, int ssl_connection, const char *path, const char *host, const char *origin, const char *protocol, int ietf_version_or_minus_one, void *userdata) LWS_WARN_DEPRECATED</td></tr>
<tr class="separator:gac6a8558b4410961a880241c2ac1271e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f44b8230e6732816ca5cd8d1aaaf340"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__client.html#ga4f44b8230e6732816ca5cd8d1aaaf340">lws_init_vhost_client_ssl</a> (const struct <a class="el" href="structlws__context__creation__info.html">lws_context_creation_info</a> *info, struct lws_vhost *vhost)</td></tr>
<tr class="separator:ga4f44b8230e6732816ca5cd8d1aaaf340"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4450c34200bf9dab3beb90ef23221870"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_http_client_read</b> (struct lws *wsi, char **buf, int *len)</td></tr>
<tr class="separator:ga4450c34200bf9dab3beb90ef23221870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26588fb345083076c14169dd5859f57a"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>lws_client_http_body_pending</b> (struct lws *wsi, int something_left_to_send)</td></tr>
<tr class="separator:ga26588fb345083076c14169dd5859f57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf95bd0c663d6516a0c80047d9b1167a8"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#gaf95bd0c663d6516a0c80047d9b1167a8">lws_service</a> (struct lws_context *context, int timeout_ms)</td></tr>
<tr class="separator:gaf95bd0c663d6516a0c80047d9b1167a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b3cc4473fd8848e5bbee7f310712939"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#ga9b3cc4473fd8848e5bbee7f310712939">lws_service_tsi</a> (struct lws_context *context, int timeout_ms, int tsi)</td></tr>
<tr class="separator:ga9b3cc4473fd8848e5bbee7f310712939"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29c246707997ab7a466aa709aecd2d7b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#ga29c246707997ab7a466aa709aecd2d7b">lws_cancel_service_pt</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga29c246707997ab7a466aa709aecd2d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53e3d0801dfda7960a7249dd559e68a2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#ga53e3d0801dfda7960a7249dd559e68a2">lws_cancel_service</a> (struct lws_context *context)</td></tr>
<tr class="separator:ga53e3d0801dfda7960a7249dd559e68a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad82efa5466d14a9f05aa06416375b28d"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#gad82efa5466d14a9f05aa06416375b28d">lws_service_fd</a> (struct lws_context *context, struct <a class="el" href="structlws__pollfd.html">lws_pollfd</a> *<a class="el" href="structpollfd.html">pollfd</a>)</td></tr>
<tr class="separator:gad82efa5466d14a9f05aa06416375b28d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebf426eda371ba23642fc11d8e0ace6b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#gaebf426eda371ba23642fc11d8e0ace6b">lws_service_fd_tsi</a> (struct lws_context *context, struct <a class="el" href="structlws__pollfd.html">lws_pollfd</a> *<a class="el" href="structpollfd.html">pollfd</a>, int tsi)</td></tr>
<tr class="separator:gaebf426eda371ba23642fc11d8e0ace6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fd9d714434ca499e2b3f7dbba86f241"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#ga4fd9d714434ca499e2b3f7dbba86f241">lws_service_adjust_timeout</a> (struct lws_context *context, int timeout_ms, int tsi)</td></tr>
<tr class="separator:ga4fd9d714434ca499e2b3f7dbba86f241"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1ff2c19455268fa0d5b617d8057fbfc"><td class="memItemLeft" align="right" valign="top">LWS_EXTERN LWS_VISIBLE int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__service.html#gab1ff2c19455268fa0d5b617d8057fbfc">lws_plat_service_tsi</a> (struct lws_context *context, int timeout_ms, int tsi)</td></tr>
<tr class="separator:gab1ff2c19455268fa0d5b617d8057fbfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4da87a4800413f15e7aba649fb1d77c"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpft.html#gab4da87a4800413f15e7aba649fb1d77c">lws_get_mimetype</a> (const char *file, const struct <a class="el" href="structlws__http__mount.html">lws_http_mount</a> *m)</td></tr>
<tr class="separator:gab4da87a4800413f15e7aba649fb1d77c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab393a06d3d2722af4c3f8b06842c80d7"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__httpft.html#gab393a06d3d2722af4c3f8b06842c80d7">lws_serve_http_file</a> (struct lws *wsi, const char *file, const char *content_type, const char *other_headers, int other_headers_len)</td></tr>
<tr class="separator:gab393a06d3d2722af4c3f8b06842c80d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29e1123f6d56cd777b3e5bf9ca40f9e5"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_serve_http_file_fragment</b> (struct lws *wsi)</td></tr>
<tr class="separator:ga29e1123f6d56cd777b3e5bf9ca40f9e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga643073f918c0a7016b690aae9793fd60"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__html-chunked-substitution.html#ga643073f918c0a7016b690aae9793fd60">lws_chunked_html_process</a> (struct <a class="el" href="structlws__process__html__args.html">lws_process_html_args</a> *args, struct <a class="el" href="structlws__process__html__state.html">lws_process_html_state</a> *s)</td></tr>
<tr class="separator:ga643073f918c0a7016b690aae9793fd60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c0597b2ef1d2cee35736c338bcbd17b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-read.html#ga2c0597b2ef1d2cee35736c338bcbd17b">lws_token_to_string</a> (enum lws_token_indexes token)</td></tr>
<tr class="separator:ga2c0597b2ef1d2cee35736c338bcbd17b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8ade0e1ffb0da7e62b989d8d867bf6c8"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-read.html#ga8ade0e1ffb0da7e62b989d8d867bf6c8">lws_hdr_total_length</a> (struct lws *wsi, enum lws_token_indexes h)</td></tr>
<tr class="separator:ga8ade0e1ffb0da7e62b989d8d867bf6c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga594f3d0ece5b09c2ccf9f98ea533bb4e"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-read.html#ga594f3d0ece5b09c2ccf9f98ea533bb4e">lws_hdr_fragment_length</a> (struct lws *wsi, enum lws_token_indexes h, int frag_idx)</td></tr>
<tr class="separator:ga594f3d0ece5b09c2ccf9f98ea533bb4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ce6aa1c0155ea42b7708bed271d1c77"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-read.html#ga6ce6aa1c0155ea42b7708bed271d1c77">lws_hdr_copy</a> (struct lws *wsi, char *dest, int len, enum lws_token_indexes h)</td></tr>
<tr class="separator:ga6ce6aa1c0155ea42b7708bed271d1c77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa427cad61a9a5e3004afd65c4527b5e9"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-read.html#gaa427cad61a9a5e3004afd65c4527b5e9">lws_hdr_copy_fragment</a> (struct lws *wsi, char *dest, int len, enum lws_token_indexes h, int frag_idx)</td></tr>
<tr class="separator:gaa427cad61a9a5e3004afd65c4527b5e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84e9ce5e71a77501a0998ac403a984c2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-read.html#ga84e9ce5e71a77501a0998ac403a984c2">lws_get_urlarg_by_name</a> (struct lws *wsi, const char *name, char *buf, int len)</td></tr>
<tr class="separator:ga84e9ce5e71a77501a0998ac403a984c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29b7d6d2ddfdbaff3d8b607e7e3151b6"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-create.html#ga29b7d6d2ddfdbaff3d8b607e7e3151b6">lws_add_http_header_status</a> (struct lws *wsi, unsigned int code, unsigned char **p, unsigned char *end)</td></tr>
<tr class="separator:ga29b7d6d2ddfdbaff3d8b607e7e3151b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b36bf44405755ff51c1939303b995a8"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-create.html#ga2b36bf44405755ff51c1939303b995a8">lws_add_http_header_by_name</a> (struct lws *wsi, const unsigned char *name, const unsigned char *value, int length, unsigned char **p, unsigned char *end)</td></tr>
<tr class="separator:ga2b36bf44405755ff51c1939303b995a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf74adb761b22566ad70004882712dce1"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-create.html#gaf74adb761b22566ad70004882712dce1">lws_add_http_header_by_token</a> (struct lws *wsi, enum lws_token_indexes token, const unsigned char *value, int length, unsigned char **p, unsigned char *end)</td></tr>
<tr class="separator:gaf74adb761b22566ad70004882712dce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc76a5babcb4dce1b01b1955aa7a2faf"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-create.html#gacc76a5babcb4dce1b01b1955aa7a2faf">lws_add_http_header_content_length</a> (struct lws *wsi, unsigned long content_length, unsigned char **p, unsigned char *end)</td></tr>
<tr class="separator:gacc76a5babcb4dce1b01b1955aa7a2faf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4887605ff2242a54db3a7fa01f6f864b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HTTP-headers-create.html#ga4887605ff2242a54db3a7fa01f6f864b">lws_finalize_http_header</a> (struct lws *wsi, unsigned char **p, unsigned char *end)</td></tr>
<tr class="separator:ga4887605ff2242a54db3a7fa01f6f864b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga162f86762173a2bc8c28497941d74815"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws_spa *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga162f86762173a2bc8c28497941d74815">lws_spa_create</a> (struct lws *wsi, const char *const *param_names, int count_params, int max_storage, <a class="el" href="group__form-parsing.html#ga5a70527c0861c2ffa3d29333a6aa7f8e">lws_spa_fileupload_cb</a> opt_cb, void *opt_data)</td></tr>
<tr class="separator:ga162f86762173a2bc8c28497941d74815"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ad9ebf5ea1a7108415ed7e04cb231d2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga9ad9ebf5ea1a7108415ed7e04cb231d2">lws_spa_process</a> (struct lws_spa *spa, const char *in, int len)</td></tr>
<tr class="separator:ga9ad9ebf5ea1a7108415ed7e04cb231d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83835bf250ee3d4a60f36a182f2b8d24"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga83835bf250ee3d4a60f36a182f2b8d24">lws_spa_finalize</a> (struct lws_spa *spa)</td></tr>
<tr class="separator:ga83835bf250ee3d4a60f36a182f2b8d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fbe378632f85ec9a14cc2c1687bf05f"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga3fbe378632f85ec9a14cc2c1687bf05f">lws_spa_get_length</a> (struct lws_spa *spa, int n)</td></tr>
<tr class="separator:ga3fbe378632f85ec9a14cc2c1687bf05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2da476217166da02704b90d3a8d4f3cd"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#ga2da476217166da02704b90d3a8d4f3cd">lws_spa_get_string</a> (struct lws_spa *spa, int n)</td></tr>
<tr class="separator:ga2da476217166da02704b90d3a8d4f3cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa482f07dad3f04b391cccf0a814e13b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__form-parsing.html#gaaa482f07dad3f04b391cccf0a814e13b">lws_spa_destroy</a> (struct lws_spa *spa)</td></tr>
<tr class="separator:gaaa482f07dad3f04b391cccf0a814e13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc2888476e50e001c875c1a8abf455b7"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__urlendec.html#gabc2888476e50e001c875c1a8abf455b7">lws_urlencode</a> (char *escaped, const char *string, int len)</td></tr>
<tr class="separator:gabc2888476e50e001c875c1a8abf455b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa373a9c16acdd96c395af61ab915ece3"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__urlendec.html#gaa373a9c16acdd96c395af61ab915ece3">lws_urldecode</a> (char *string, const char *escaped, int len)</td></tr>
<tr class="separator:gaa373a9c16acdd96c395af61ab915ece3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8a4a71240857dc6b2ed70456b6923f4"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__http.html#gac8a4a71240857dc6b2ed70456b6923f4">lws_return_http_status</a> (struct lws *wsi, unsigned int code, const char *html_body)</td></tr>
<tr class="separator:gac8a4a71240857dc6b2ed70456b6923f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fbf01e473ac421fc33ad9f8da8b8a25"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__http.html#ga8fbf01e473ac421fc33ad9f8da8b8a25">lws_http_redirect</a> (struct lws *wsi, int code, const unsigned char *loc, int len, unsigned char **p, unsigned char *end)</td></tr>
<tr class="separator:ga8fbf01e473ac421fc33ad9f8da8b8a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad27aed6c66a41b2b89ffe4da2a309e8a"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__http.html#gad27aed6c66a41b2b89ffe4da2a309e8a">lws_http_transaction_completed</a> (struct lws *wsi)</td></tr>
<tr class="separator:gad27aed6c66a41b2b89ffe4da2a309e8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cc82f06e5ae7e71458626d7a39a5865"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pur.html#ga9cc82f06e5ae7e71458626d7a39a5865">lws_sql_purify</a> (char *escaped, const char *string, int len)</td></tr>
<tr class="separator:ga9cc82f06e5ae7e71458626d7a39a5865"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab15187efcfa256b7c928562c182b92a3"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pur.html#gab15187efcfa256b7c928562c182b92a3">lws_json_purify</a> (char *escaped, const char *string, int len)</td></tr>
<tr class="separator:gab15187efcfa256b7c928562c182b92a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5caf14a420a2a0bd687a1fc952f8d64e"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_ev_sigint_cfg</b> (struct lws_context *context, int use_ev_sigint, lws_ev_signal_cb_t *cb)</td></tr>
<tr class="separator:ga5caf14a420a2a0bd687a1fc952f8d64e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fdd23ded693b21853356dc9eaef5ccc"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_ev_initloop</b> (struct lws_context *context, struct ev_loop *loop, int tsi)</td></tr>
<tr class="separator:ga3fdd23ded693b21853356dc9eaef5ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaabfc0880d6a98133550c61aa01ef3563"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>lws_ev_sigint_cb</b> (struct ev_loop *loop, struct ev_signal *watcher, int revents)</td></tr>
<tr class="separator:gaabfc0880d6a98133550c61aa01ef3563"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99099e045993383f251a8026e1e40414"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_uv_sigint_cfg</b> (struct lws_context *context, int use_uv_sigint, uv_signal_cb cb)</td></tr>
<tr class="separator:ga99099e045993383f251a8026e1e40414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga097c89497824d4de225a85a00661fc89"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>lws_libuv_run</b> (const struct lws_context *context, int tsi)</td></tr>
<tr class="separator:ga097c89497824d4de225a85a00661fc89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c75cd6ec3f80fc0a0c8ead4c4e71a15"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>lws_libuv_stop</b> (struct lws_context *context)</td></tr>
<tr class="separator:ga3c75cd6ec3f80fc0a0c8ead4c4e71a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad85ce3bfc53ff754988d36bf5de39e21"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_uv_initloop</b> (struct lws_context *context, uv_loop_t *loop, int tsi)</td></tr>
<tr class="separator:gad85ce3bfc53ff754988d36bf5de39e21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5e3593c94f91910d9d928dfa0c18f6c"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN uv_loop_t *&#160;</td><td class="memItemRight" valign="bottom"><b>lws_uv_getloop</b> (struct lws_context *context, int tsi)</td></tr>
<tr class="separator:gaa5e3593c94f91910d9d928dfa0c18f6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5f60dba13a45e5d554b4fb7df7b9610"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><b>lws_uv_sigint_cb</b> (uv_signal_t *watcher, int signum)</td></tr>
<tr class="separator:gac5f60dba13a45e5d554b4fb7df7b9610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaced9f9237f6172fed9f730a2af51345a"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__timeout.html#gaced9f9237f6172fed9f730a2af51345a">lws_set_timeout</a> (struct lws *wsi, enum pending_timeout reason, int secs)</td></tr>
<tr class="separator:gaced9f9237f6172fed9f730a2af51345a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd5fdd285a0e25ba7e3e1051deec1001"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sending-data.html#gafd5fdd285a0e25ba7e3e1051deec1001">lws_write</a> (struct lws *wsi, unsigned char *buf, size_t len, enum <a class="el" href="group__sending-data.html#ga98b099cf8c1c7e38ad78501f270e193d">lws_write_protocol</a> protocol)</td></tr>
<tr class="separator:gafd5fdd285a0e25ba7e3e1051deec1001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga941caaa468bc507b1cae52275f58800d"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#ga941caaa468bc507b1cae52275f58800d">lws_callback_on_writable</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga941caaa468bc507b1cae52275f58800d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbe4655c7eeb3eb1671b2323ec6b3107"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#gabbe4655c7eeb3eb1671b2323ec6b3107">lws_callback_on_writable_all_protocol</a> (const struct lws_context *context, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *protocol)</td></tr>
<tr class="separator:gabbe4655c7eeb3eb1671b2323ec6b3107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8570860e191b62db264f2bac67354ea8"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#ga8570860e191b62db264f2bac67354ea8">lws_callback_on_writable_all_protocol_vhost</a> (const struct lws_vhost *vhost, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *protocol)</td></tr>
<tr class="separator:ga8570860e191b62db264f2bac67354ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf04bbe089f47c971c6408c5efe2ac70"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#gacf04bbe089f47c971c6408c5efe2ac70">lws_callback_all_protocol</a> (struct lws_context *context, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *protocol, int reason)</td></tr>
<tr class="separator:gacf04bbe089f47c971c6408c5efe2ac70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13c984d8c5a44a745fd02bc2fba36053"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#ga13c984d8c5a44a745fd02bc2fba36053">lws_callback_all_protocol_vhost</a> (struct lws_vhost *vh, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *protocol, int reason)</td></tr>
<tr class="separator:ga13c984d8c5a44a745fd02bc2fba36053"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60939cf0c073d933fde3d17f3591caf5"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#ga60939cf0c073d933fde3d17f3591caf5">lws_callback_vhost_protocols</a> (struct lws *wsi, int reason, void *in, int len)</td></tr>
<tr class="separator:ga60939cf0c073d933fde3d17f3591caf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad3d524a84d2be08ac85153bc158504b"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_callback_http_dummy</b> (struct lws *wsi, enum <a class="el" href="group__usercb.html#gad62860e19975ba4c4af401c3cdb6abf7">lws_callback_reasons</a> reason, void *user, void *in, size_t len)</td></tr>
<tr class="separator:gaad3d524a84d2be08ac85153bc158504b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa709e02a10558753c851e58f1e2c16ba"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#gaa709e02a10558753c851e58f1e2c16ba">lws_get_socket_fd</a> (struct lws *wsi)</td></tr>
<tr class="separator:gaa709e02a10558753c851e58f1e2c16ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4643fe16b0940ae5b68b4ee6195cbde"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__callback-when-writeable.html#gac4643fe16b0940ae5b68b4ee6195cbde">lws_get_peer_write_allowance</a> (struct lws *wsi)</td></tr>
<tr class="separator:gac4643fe16b0940ae5b68b4ee6195cbde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4abd01e8c43f07c6e498ce13590c3e"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libwebsockets_8h.html#adf4abd01e8c43f07c6e498ce13590c3e">lws_rx_flow_control</a> (struct lws *wsi, int enable)</td></tr>
<tr class="separator:adf4abd01e8c43f07c6e498ce13590c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e627dbf1db48170ef486edbaf268672"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libwebsockets_8h.html#a5e627dbf1db48170ef486edbaf268672">lws_rx_flow_allow_all_protocol</a> (const struct lws_context *context, const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *protocol)</td></tr>
<tr class="separator:a5e627dbf1db48170ef486edbaf268672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72fe65e83b8bb03f904a1a256c673536"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libwebsockets_8h.html#a72fe65e83b8bb03f904a1a256c673536">lws_remaining_packet_payload</a> (struct lws *wsi)</td></tr>
<tr class="separator:a72fe65e83b8bb03f904a1a256c673536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe71b7462afb21c767bdc67334f305af"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sock-adopt.html#gabe71b7462afb21c767bdc67334f305af">lws_adopt_socket</a> (struct lws_context *context, lws_sockfd_type accept_fd)</td></tr>
<tr class="separator:gabe71b7462afb21c767bdc67334f305af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2d045df0f81afe00891aaed312d552b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sock-adopt.html#gab2d045df0f81afe00891aaed312d552b">lws_adopt_socket_readbuf</a> (struct lws_context *context, lws_sockfd_type accept_fd, const char *readbuf, size_t len)</td></tr>
<tr class="separator:gab2d045df0f81afe00891aaed312d552b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0df22db2be9fc65a667a1e83f9a92a4"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__net.html#gad0df22db2be9fc65a667a1e83f9a92a4">lws_canonical_hostname</a> (struct lws_context *context)</td></tr>
<tr class="separator:gad0df22db2be9fc65a667a1e83f9a92a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga092e5f473b3347f03ffeef8a950080f3"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__net.html#ga092e5f473b3347f03ffeef8a950080f3">lws_get_peer_addresses</a> (struct lws *wsi, lws_sockfd_type fd, char *name, int name_len, char *rip, int rip_len)</td></tr>
<tr class="separator:ga092e5f473b3347f03ffeef8a950080f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad01014fed09759741b6d23afccfdaacc"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__net.html#gad01014fed09759741b6d23afccfdaacc">lws_get_peer_simple</a> (struct lws *wsi, char *name, int namelen)</td></tr>
<tr class="separator:gad01014fed09759741b6d23afccfdaacc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga869d8bdffb0f2a7ce08e3ce10d6be3d8"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__net.html#ga869d8bdffb0f2a7ce08e3ce10d6be3d8">lws_interface_to_sa</a> (int ipv6, const char *ifname, struct sockaddr_in *addr, size_t addrlen)</td></tr>
<tr class="separator:ga869d8bdffb0f2a7ce08e3ce10d6be3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f37d0e357de2ab4170723fcdb665d21"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga9f37d0e357de2ab4170723fcdb665d21">lws_snprintf</a> (char *str, size_t size, const char *format,...)</td></tr>
<tr class="separator:ga9f37d0e357de2ab4170723fcdb665d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58f906c6be0ca80efd813f694569dd4a"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga58f906c6be0ca80efd813f694569dd4a">lws_get_random</a> (struct lws_context *context, void *buf, int len)</td></tr>
<tr class="separator:ga58f906c6be0ca80efd813f694569dd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace5171b1dbbc03ec89a98f8afdb5c9af"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gace5171b1dbbc03ec89a98f8afdb5c9af">lws_daemonize</a> (const char *_lock_path)</td></tr>
<tr class="separator:gace5171b1dbbc03ec89a98f8afdb5c9af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6abfc0b2bd5b2f09281a4432bb2f5f0"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN const char *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gac6abfc0b2bd5b2f09281a4432bb2f5f0">lws_get_library_version</a> (void)</td></tr>
<tr class="separator:gac6abfc0b2bd5b2f09281a4432bb2f5f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa194584fff9698f3b280658f770ccd0f"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gaa194584fff9698f3b280658f770ccd0f">lws_wsi_user</a> (struct lws *wsi)</td></tr>
<tr class="separator:gaa194584fff9698f3b280658f770ccd0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ec0d9faac5d3a5824d765c287c043aa"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga1ec0d9faac5d3a5824d765c287c043aa">lws_parse_uri</a> (char *p, const char **prot, const char **ads, int *port, const char **path)</td></tr>
<tr class="separator:ga1ec0d9faac5d3a5824d765c287c043aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga33bf2635033710b25f931b57ed663e1e"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga33bf2635033710b25f931b57ed663e1e">lws_now_secs</a> (void)</td></tr>
<tr class="separator:ga33bf2635033710b25f931b57ed663e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0af4f7d2dd375aeedcfa7eb0e1101c4b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws_context *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga0af4f7d2dd375aeedcfa7eb0e1101c4b">lws_get_context</a> (const struct lws *wsi)</td></tr>
<tr class="separator:ga0af4f7d2dd375aeedcfa7eb0e1101c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga629f48268fd1856b54b11172991b97d9"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga629f48268fd1856b54b11172991b97d9">lws_get_count_threads</a> (struct lws_context *context)</td></tr>
<tr class="separator:ga629f48268fd1856b54b11172991b97d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8930fe36a3f3eefe4a6a4fd499d8e899"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#ga8930fe36a3f3eefe4a6a4fd499d8e899">lws_get_parent</a> (const struct lws *wsi)</td></tr>
<tr class="separator:ga8930fe36a3f3eefe4a6a4fd499d8e899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacae4d7b6a8d22e4c2d82ff8b12c1e234"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct lws *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gacae4d7b6a8d22e4c2d82ff8b12c1e234">lws_get_child</a> (const struct lws *wsi)</td></tr>
<tr class="separator:gacae4d7b6a8d22e4c2d82ff8b12c1e234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e705d498e8c8500649a26ba30a1e106"><td class="memItemLeft" align="right" valign="top">
LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><b>lws_read</b> (struct lws *wsi, unsigned char *buf, size_t len)</td></tr>
<tr class="separator:ga0e705d498e8c8500649a26ba30a1e106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab321ed812f46f6dc7ef9e3ca6f00cf1b"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#gab321ed812f46f6dc7ef9e3ca6f00cf1b">lws_set_allocator</a> (void *(*realloc)(void *ptr, size_t size))</td></tr>
<tr class="separator:gab321ed812f46f6dc7ef9e3ca6f00cf1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bb3655329b4651cd06f79ee3a764421"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#ga2bb3655329b4651cd06f79ee3a764421">lws_send_pipe_choked</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga2bb3655329b4651cd06f79ee3a764421"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08e9ee165fca503fd9427d55cfecac37"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#ga08e9ee165fca503fd9427d55cfecac37">lws_is_final_fragment</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga08e9ee165fca503fd9427d55cfecac37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3df5045656dfb6b0e63a38de2dca79d2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#ga3df5045656dfb6b0e63a38de2dca79d2">lws_get_reserved_bits</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga3df5045656dfb6b0e63a38de2dca79d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeca4afc94b1f026034f99cbba37e2f85"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#gaeca4afc94b1f026034f99cbba37e2f85">lws_partial_buffered</a> (struct lws *wsi)</td></tr>
<tr class="separator:gaeca4afc94b1f026034f99cbba37e2f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccd9c59336efad8af0554f79cc5966fd"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#gaccd9c59336efad8af0554f79cc5966fd">lws_frame_is_binary</a> (struct lws *wsi)</td></tr>
<tr class="separator:gaccd9c59336efad8af0554f79cc5966fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26a140623d202dd2bf2004deb6994baa"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#ga26a140623d202dd2bf2004deb6994baa">lws_is_ssl</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga26a140623d202dd2bf2004deb6994baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ad226d5e01024b4046f4a5a37199aa1"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wsstatus.html#ga4ad226d5e01024b4046f4a5a37199aa1">lws_is_cgi</a> (struct lws *wsi)</td></tr>
<tr class="separator:ga4ad226d5e01024b4046f4a5a37199aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b09ab74646266f0b555103b3bb8dfe5"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sha.html#ga7b09ab74646266f0b555103b3bb8dfe5">lws_SHA1</a> (const unsigned char *d, size_t n, unsigned char *md)</td></tr>
<tr class="separator:ga7b09ab74646266f0b555103b3bb8dfe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf39765e4a3b413efb65e4698b2ec3575"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sha.html#gaf39765e4a3b413efb65e4698b2ec3575">lws_b64_encode_string</a> (const char *in, int in_len, char *out, int out_size)</td></tr>
<tr class="separator:gaf39765e4a3b413efb65e4698b2ec3575"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66316e6a5a0644a09d5a10e919dfdd8d"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__sha.html#ga66316e6a5a0644a09d5a10e919dfdd8d">lws_b64_decode_string</a> (const char *in, char *out, int out_size)</td></tr>
<tr class="separator:ga66316e6a5a0644a09d5a10e919dfdd8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af52923473c59e643a974d65e12290831"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libwebsockets_8h.html#af52923473c59e643a974d65e12290831">lws_cgi</a> (struct lws *wsi, const char *const *exec_array, int script_uri_path_len, int timeout_secs, const struct <a class="el" href="structlws__protocol__vhost__options.html">lws_protocol_vhost_options</a> *mp_cgienv)</td></tr>
<tr class="separator:af52923473c59e643a974d65e12290831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5326d3402af8429a166dd991dc65c4a2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libwebsockets_8h.html#a5326d3402af8429a166dd991dc65c4a2">lws_cgi_write_split_stdout_headers</a> (struct lws *wsi)</td></tr>
<tr class="separator:a5326d3402af8429a166dd991dc65c4a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27bb0b3cdcd0af839c928c253b521ff4"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="libwebsockets_8h.html#a27bb0b3cdcd0af839c928c253b521ff4">lws_cgi_kill</a> (struct lws *wsi)</td></tr>
<tr class="separator:a27bb0b3cdcd0af839c928c253b521ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac08aef64c4c34647ed699b24759b6b0e"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN struct <a class="el" href="structlws__plat__file__ops.html">lws_plat_file_ops</a> *LWS_WARN_UNUSED_RESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__fops.html#gac08aef64c4c34647ed699b24759b6b0e">lws_get_fops</a> (struct lws_context *context)</td></tr>
<tr class="separator:gac08aef64c4c34647ed699b24759b6b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77fc9b56a1bb39484844981ec375fc29"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29">lws_email_init</a> (struct <a class="el" href="structlws__email.html">lws_email</a> *email, uv_loop_t *loop, int max_content)</td></tr>
<tr class="separator:ga77fc9b56a1bb39484844981ec375fc29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e535e346d92a9daf00be33abf79d4eb"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb">lws_email_check</a> (struct <a class="el" href="structlws__email.html">lws_email</a> *email)</td></tr>
<tr class="separator:ga5e535e346d92a9daf00be33abf79d4eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25298a5afc1074e13b2d5711a86432b2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2">lws_email_destroy</a> (struct <a class="el" href="structlws__email.html">lws_email</a> *email)</td></tr>
<tr class="separator:ga25298a5afc1074e13b2d5711a86432b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="af52923473c59e643a974d65e12290831"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LWS_VISIBLE LWS_EXTERN int lws_cgi </td>
          <td>(</td>
          <td class="paramtype">struct lws *&#160;</td>
          <td class="paramname"><em>wsi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const *&#160;</td>
          <td class="paramname"><em>exec_array</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>script_uri_path_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout_secs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const struct <a class="el" href="structlws__protocol__vhost__options.html">lws_protocol_vhost_options</a> *&#160;</td>
          <td class="paramname"><em>mp_cgienv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>lws_cgi: spawn network-connected cgi process</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wsi</td><td>connection to own the process </td></tr>
    <tr><td class="paramname">exec_array</td><td>array of "exec-name" "arg1" ... "argn" NULL </td></tr>
    <tr><td class="paramname">script_uri_path_len</td><td>how many chars on the left of the uri are the path to the cgi </td></tr>
    <tr><td class="paramname">timeout_secs</td><td>seconds script should be allowed to run </td></tr>
    <tr><td class="paramname">mp_cgienv</td><td>pvo list with per-vhost cgi options to put in env </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a27bb0b3cdcd0af839c928c253b521ff4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LWS_VISIBLE LWS_EXTERN int lws_cgi_kill </td>
          <td>(</td>
          <td class="paramtype">struct lws *&#160;</td>
          <td class="paramname"><em>wsi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>lws_cgi_kill: terminate cgi process associated with wsi</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wsi</td><td>connection to own the process </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5326d3402af8429a166dd991dc65c4a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LWS_VISIBLE LWS_EXTERN int lws_cgi_write_split_stdout_headers </td>
          <td>(</td>
          <td class="paramtype">struct lws *&#160;</td>
          <td class="paramname"><em>wsi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>lws_cgi_write_split_stdout_headers: write cgi output accounting for header part</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wsi</td><td>connection to own the process </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a72fe65e83b8bb03f904a1a256c673536"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LWS_VISIBLE LWS_EXTERN size_t lws_remaining_packet_payload </td>
          <td>(</td>
          <td class="paramtype">struct lws *&#160;</td>
          <td class="paramname"><em>wsi</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><a class="el" href="libwebsockets_8h.html#a72fe65e83b8bb03f904a1a256c673536">lws_remaining_packet_payload()</a> - Bytes to come before "overall" rx packet is complete </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wsi</td><td>Websocket instance (available from user callback) <pre class="fragment"> This function is intended to be called from the callback if the
</pre> user code is interested in "complete packets" from the client. libwebsockets just passes through payload as it comes and issues a buffer additionally when it hits a built-in limit. The LWS_CALLBACK_RECEIVE callback handler can use this API to find out if the buffer it has just been given is the last piece of a "complete packet" from the client &ndash; when that is the case <a class="el" href="libwebsockets_8h.html#a72fe65e83b8bb03f904a1a256c673536">lws_remaining_packet_payload()</a> will return 0.</td></tr>
  </table>
  </dd>
</dl>
<p>Many protocols won't care becuse their packets are always small. </p>

</div>
</div>
<a class="anchor" id="a5e627dbf1db48170ef486edbaf268672"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LWS_VISIBLE LWS_EXTERN void lws_rx_flow_allow_all_protocol </td>
          <td>(</td>
          <td class="paramtype">const struct lws_context *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const struct <a class="el" href="structlws__protocols.html">lws_protocols</a> *&#160;</td>
          <td class="paramname"><em>protocol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><a class="el" href="libwebsockets_8h.html#a5e627dbf1db48170ef486edbaf268672">lws_rx_flow_allow_all_protocol()</a> - Allow all connections with this protocol to receive</p>
<p>When the user server code realizes it can accept more input, it can call this to have the RX flow restriction removed from all connections using the given protocol. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>lws_context </td></tr>
    <tr><td class="paramname">protocol</td><td>all connections using this protocol will be allowed to receive </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adf4abd01e8c43f07c6e498ce13590c3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LWS_VISIBLE LWS_EXTERN int lws_rx_flow_control </td>
          <td>(</td>
          <td class="paramtype">struct lws *&#160;</td>
          <td class="paramname"><em>wsi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p><a class="el" href="libwebsockets_8h.html#adf4abd01e8c43f07c6e498ce13590c3e">lws_rx_flow_control()</a> - Enable and disable socket servicing for received packets.</p>
<p>If the output side of a server process becomes choked, this allows flow control for the input side.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wsi</td><td>Websocket connection instance to get callback for </td></tr>
    <tr><td class="paramname">enable</td><td>0 = disable read servicing for this connection, 1 = enable </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="libwebsockets_8h.html">libwebsockets.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
